home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
ast_text
/
faqs
/
frc!!fr1
< prev
next >
Wrap
Text File
|
1993-06-28
|
23KB
|
582 lines
Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!usc!usc!not-for-mail
From: ajayshah@rcf.usc.edu
Newsgroups: comp.lang.c,comp.lang.c++,sci.math.num-analysis,sci.comp-aided
Subject: Part 2 of 2: Free C,C++ for numerical computation
Followup-To: sci.math.num-analysis
Date: 1 Jun 1993 18:30:46 -0700
Organization: University of Southern California, Los Angeles, CA, US
Lines: 565
Sender: ajayshah@almaak.usc.edu
Distribution: world
Message-ID: <1ugvs6$sdg@almaak.usc.edu>
Reply-To: ajayshah@rcf.usc.edu
NNTP-Posting-Host: almaak.usc.edu
Keywords: source code, numerical statistical scientific computation
Xref: senator-bedfellow.mit.edu comp.lang.c:71405 comp.lang.c++:44270 sci.math.num-analysis:8443 sci.comp-aided:351
Where : in math on Simtel
Description : derivative-free maximisation
Version : July 1987
Name : presto
Where : pub/presto1.0.tar.Z on cs.washington.edu
Language : C++
Systems : Unix-like OS on (moderate) multiprocessor machines
Description : C++ routines for fine-grained parallel programming
(lightweight threads) on multiprocessors. Tuned for the Sequent
machines, but highly adaptable and customizable.
Author : Brian N. Bershad, Edward D. Lazowska, Henry M. Levy
Version : Version 1.0 is an optimized version by John E. Faust. (All
above are from U. Washington, Seattle)
Comments : Presto was the subject of a number of research papers in
multiprocessor OS. Version 1.0 looks usable (ie not
experimental anymore).
Name : psuedo.asc
Where : inside ddj9105.zip in published/dr-dobbs on ftp.uu.net
Description : implements R250 random number generator, from
S. Kirkpatrick and E. Stoll, Journal of Computational Physics,
40, p. 517 (1981).
Author : W. L. Maier
Name : random
Where : bsd-sources/src/lib/libc/gen on gatekeeper.dec.com
Description : the BSD C library random number generator
Name : random-c
Where : in c on Simtel
Description : portable, good random number generator
Name : range.tar.Z (191867 bytes)
Where : in pub/range on math.tamu.edu
Description : C++ class for interval arithmetic.
Associated with article in TOMS, Dec 1992 title
"Precise computation using range arithmetic, via C++"
Author : Oliver Aberth and Mark J. Schaefer
Version : Dec 1992 (?)
Name : ranpm
Where : in prog/libraries on nuri.inria.fr (128.93.1.26)
also in volume5 of comp.sources.misc in "random"
Description : the Park-Miller "minimal standard" random-number generator
Author : Ajay Shah, ajayshah@rcf.usc.edu
Version : February 1992
Comments : there are several other independent implementations,
all are quite alike
Name : ranlib-c
Where : pub/unix on odin.mda.uth.tmc.edu or in general on Statlib
Description : large library for random variate generation from many
univariate and multivariate distributions
Author : Barry Brown, bwb@odin.mda.uth.tmc.edu
Version : 16 Jan 1992
Name : rktec.c.Z (20870 bytes)
Where : in misc on netlib
Description : computes the truncation error coefficients, tecs, of a
Runge-Kutta formula, or a pair of formulas, specified in an
input file.
Author : Mike Hosea (mhosea@sun.cis.smu.edu)
Version : v1.1, Dec 4 1992
Name : rlab
Where : /pub/alpha/RLaB/rlab-0.50.tar.Z on evans.ee.adfa.oz.au
Systems : Compiles and runs on Sun4, RS/6000, DEC/Ultrix, SysV/R4 i386,
Linux, HP-UX, SGI
Language : C + Fortran
Author : Ian Searle (ians@eskimo.com)
Version : In alpha test, currently v0.75, 25 April 1993
Description : "Matlab-like" interactive programming environment for
numerical computations.
Comments : Includes online help and LaTeX manual.
Name : robot
Description : a scientific graph plotting and data analysis package.
Works for Xview v3, and knows to generates postscript.
Where : in pub/astrod on ftp.astro.psu.edu (128.118.147.28)
Version : v0.46, 7 Feb 1993
Author : Robin Corbet (corbet@astro.psu.edu)
Name : rpart
Where : in general on Statlib
Description : Routines for recursive partitioning
Author : Terry Therneau, therneau@mayo.edu
Version : Feb 1991
Name : sa.zoo (40682 bytes)
Where : in pub/C-numanal on usc.edu
Description : library for simulated annealing
Language : versions for C, C++ and Ada exist.
Author : Skip Carter (skip@taygeta.oc.nps.navy.mil)
Version : Tue Nov 10 12:00:42 PST 1992
Name : sabre.tar.Z (813499 bytes)
Where : in pub on athena.erc.msstate.edu
Description : (not clear) a linear/nonlinear simulation system
Comments : the `portable math library' directory is definitely
very useful (5k lines). I noticed some interesting
interpolation, integration, banded LU decomposition,
nonlinear solver, etc.
Author : ?
Version : ?
Name : sdeint.tar.z
Where : in pub/C-numanal on usc.edu
Systems : Unix, MS-DOS
Language : C++
Description : A Runge-Kutta like class for integrating systems of Stochastic
Differential Equations
Author : Skip Carter, skip@taygeta.oc.nps.navy.mil
Version : v1.9 4 May 1993
Name : sge.shar
Where : in c on Netlib
Description : Linpack functions geco, gefa, gesl and a little of BLAS;
nonstandard matrices
Author : Mark K. Seager, seager@lll-crg.llnl.gov
Version : April 88
Name : SGPC
Description : Simple Genetic Programming in C
Author : Walter Alden Tackett (tackett@ipld01.hac.com)
Where : in the pub/Users/tackett on sfi.santafe.edu
Version : 28 May 1993
Comments : genetic algorithms, nonlinear maximisation
Name : SIMATH
Author : SIMATH-Gruppe, Saarbruecken, Germany
Systems : Unix
Where : via anonymous ftp: ftp.math.uni-sb.de (134.96.32.23),
ftp.math.orst.edu (128.193.80.160) in pub/simath
Version : 3.6.1
Description : SIMATH contains a lot of C-functions over algebraic
structures as arbitrary long integers, rational
numbers, polynomials, Galois fields, matrices,
elliptic curves, algebraic number fields, modular
integers, etc. There is also an interactive calculator
(simath) which uses the C-libraries of SIMATH.
Comments : version 3.6.1 contains a handbook written in English.
The SIMATH package also includes a user interface,
which makes it possible to use the on-line
documentation of the functions and the keyword index.
It is free, but you have to first register, in order
to get a "license" file without which it won't compile.
Name : simpack
Author : Paul A. Fishwick, fishwick@cis.ufl.edu
Description : tools for writing simulations with a EECS bias
Where : pub/simdigest/tools on bikini.cis.ufl.edu, also see
tr92-022.ps.Z from cis/tech-reports/tr92
Language : C and C++ versions exist
Version : v2.0, June 1992
Name : smirnov.shar.Z (3599 bytes)
Author : David Rapoport (actize@cea.berkeley.edu)
Version : 22 February 1993
Description : Kolmogorov Smirnov two-sample statistic
Where : in pub/C-numanal on usc.edu
Name : SMMS (Sparse Matrix Manipulation System)
Description : A collection of about 80 commands to do almost
anything you wish to do with sparse matrices VERY
EASILY. It is designed as an instructional and
prototyping tool, not for "production" work.
Where : /pub/smms93/* on eceserv0.ece.wisc.edu
Systems : Any Unix system with X-windows, but tested only on Sun,
HP and DEC. Also works under DOS
Language : Mostly C (any version). One or two routines in Fortran
Author : Fernando Alvarado (alvarado@engr.wisc.edu)
Version : Release 2 May 1993
Comments : Includes online help for every command and LaTeX and
PostScript versions a manual. Expandable by the user.
Release 2 handles complex sparse matrices, interval
matrices, blocked matrices adn symbolic matrices.
Visualization tools. Interfaces to Harwell routines
and Boeing-Harwell sparse matrix data.
Name : smooth.tar.Z
Description : Unix tool for smoothing
Where : in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at
(137.208.3.4)
Author : Bill Davidsen (davisen@crd.ge.com)
Version : v1.9, 15 Aug 1989
Name : SPARSE
Where : in sparse on Netlib
Description : library for LU factorisation for large sparse matrices
Author : Ken Kundert, Alberto Sangiovanni-Vincentelli,
sparse@ic.berkeley.edu
Name : spline29.zip
Where : in mirrors/msdos/c on wuarchive.wustl.edu
Description : Interpolation using splines under tension, dressed up as
a Unix tool
Author : James. R. Van Zandt
Version : v2.9, 21 Nov 1992
Name : |STAT
Where : in pub/stat on archive.cis.ohio-state.edu (128.146.8.52)
Description : collection of around 30 Unix tools for statistical analysis
Author : Gary Perlman (perlman@cis.ohio-state.edu)
Version : 5.4, 27 May 1993
Systems : Unix, MS-DOS
Comments : Has been in use for 13 years. There is a troff|ps manual
and man pages. Explicitly designed to work with Unix
philosophy. The file stat.tar.Z.crypt.uu is ENCRYPTED;
you have to send email asking for the password.
Name : submit1
Where : in jcgs on Statlib
Description : damped convex minorant algorithm
Author : David Eberly, eberly@cs.unc.edu
Version : May 1992
Name : svd.c.Z (8704 bytes)
Where : in pub/C-numanal on usc.edu
Description : SVD based on pascal from J. C. Nash book
Author : Bryant Marks (bryant@sioux.stanford.edu)
Brian Collett (bcollett@hamilton.edu)
Version : 14 April 1993
Name : taranto-1.0.shar.Z
Where : in prog/libraries on nuri.inria.fr (128.93.1.26)
Description : portable, accurate FP to decimal conversion.
Name : totinfo
Where : in volume7 of comp.sources.misc
Description : info statistic and chi-square for 2-D contingency tables
Date : August 1989
Name : tsp
Where : pub/dank/tsp.zip at punisher.caltech.edu
Systems : Any C environment
Description : Simple heuristic Travelling Salesman Problem solver
Author : Dan Kegel - from "Discrete Optimization Algorithms," Maciej Syslo
Version : 1.1
Name : using-lapack.Z (8478 bytes)
Where : pub/C-numanal on usc.edu
Description : Notes on using Lapack through f2c.
Author : S. Sullivan (sullivan@mathcom.com)
Version : 14 April 1993
Name : vis5d
Where : vis5d.ssec.wisc.edu (128.104.231.66)
Systems : SGI, Stardent, IBM PC
Language : C, Fortran
Authors : Brian Paul (bpaul@vms.macc.wisc.edu) and Bill Hibbard
Version : 3.0 (soon to be 3.1)
Description : visualizing/animating data made by numerical weather
models and similar sources
Comments : vis5d interactively provides 3-D isosurfaces, vector-field
slices, horizontal and vertical contour and colored slices,
and ribbon "particle" trajectories (integral curves)
Name : vspline
Where : in gcv on Netlib
Description : non-parametric estimate of a smooth vector-valued
function from noisy data
Author : Jeff Fessler
Comments : splines
Name : wavethresh (wavelet.shar)
Where : in directory S on Statlib, and anonymous ftp from
gdr.bath.ac.uk, in directory pub/masgpn
Language : C (and S functions)
Author : Guy Nason (gpn@maths.bath.ac.uk)
Version : 2.1 (March 26 1993)
Description : wavelet transform & thresholding software in C for linking
into S.
Comments : Performs 1- and 2-D discrete wavelet transforms using
Daubechie's wavelets. Also performs thresholding according to
Donoho and Johnstone.
Name : weisfeld-simplex.shar (7457 bytes)
Where : pub/C-numanal on usc.edu
Description : small implementation of simplex method for linear programming.
Author : Matt Weisfeld (not on Internet)
Version : Feb 1993
Comments : associated with article in Feb 1993 CUJ.
For production use (where you want a black-box solver),
the `lpsolve' package (above) is better. If you want to
open up a simplex implementation and modify it, then this is
quite good, using the article as documentation.
Name : xgobi
Where : in general on Statlib
Systems : Unix, needs X Windows
Description : a data analysis package emphasising graphical data exploration
Author : Debby Swayne, dfs@bellcore.com
Dianne Cook, dcook@fisher.rutgers.edu
Andreas Buja, andreas@bellcore.com
Date : 23 March 1993
Comments : EDA
Name : XLispStat
Where : pub/xlispstat on umnstat.stat.umn.edu
Systems : Unix, Macintosh, MSW
Description : a statistical package
Author : Luke Tierney, luke%umnstat@umn-cs.cs.umn.edu
Version :
Comments : object-oriented, EDA, graphics, lisp
Name : xtrap.c.Z (4463 bytes)
Author : Bryan M. Gorman, gorman@scri.fsu.edu
Version : 28 July 1992
Description : extrapolation program. Supports 6 algorithms: VBS
approximants, Aitken delta-squared, Wynn epsilon algo,
Wynn rho algo, Brezenski theta algo, Levin u-transform.
Is dressed up as a Unix tool.
Where : pub/C-numanal on usc.edu
Name : xvgr/xmgr (open look or motif versions)
Where : /CCALMR/pub/acegr on amb4.ccalmr.ogi.edu
Systems : Unix, with either open look or motif
Description : graphics for EDA
Author : Paul J. Turner, pturner@amb4.ccalmr.ogi.edu
Version : 2.10, 2 May 1993
f2c
---
In case you had not already noticed it: a public domain, industrial
strength, fortran-to-C translator named f2c exists. It has one great
strength and one great weakness: "It is a true compiler". Thus the
code generated always "works", at the price of frequently looking like
fortran.
A lot of useful fortran libraries can readily be turned into working C
using f2c, and the resulting C can often be made almost human after
some hand-editing. The weakest link of f2c is code which involves
matrices.
A pointer to f2c is at EOF. f2c is also inside Netlib, so you are
probably better off figuring out how to use Netlib.
Other pointers
--------------
There is a lot of interesting C source in these fields which I know nothing
about:
- signal processing
- pattern recognition, neural networks
The comp.dsp FAQ has some pointers to source code.
Please send me complete entries to include in the above index.
A lot of 3rd party source code which hooks into the S statistical package
uses computational engines written in C. With a little work you can extract
useful source from this. Look in the S directory on Statlib for more
pointers. If you find something which is remarkably useful and easy
to extract, please tell me about it.
The same phenomenon operates to some extent for the XLispStat package.
Look around on the umnstat.stat.umn.edu site.
Interesting sites
-----------------
If you don't have ftp access, send email to ftpmail@decwrl.dec.com
saying "help". You will get instructions on how to do ftp via email.
Juhana Kouhia (jk87377@cs.tut.fi) has setup a very nice service:
Everything in this index (except for what is on {net,stat}lib) is
mirrored in pub/sci/math/numcomp-free-c on nic.funet.fi
Note: this site is in finland. If you are in the US, please try
to find a site closer to you.
source-code newsgroups:
ftp.uu.net (e.g. usenet/comp.sources.reviewed archives the
comp.sources.reviewed newsgroup).
f2c:
dist/f2c on research.att.com
pub/gnu on prep.ai.mit.edu
Netlib:
research.att.com email, ftp
ornl.gov email, xnetlib
nac.no email, xnetlib for Europe
(e.g. send email to netlib@ornl.gov to access by email)
unix.hensa.ac.uk is a mail server useful for Europe.
ci.cs.uow.edu.au (130.130.64.3) in Australia
Statlib:
lib.stat.cmu.edu (as statlib)
dmssyd.syd.dms.csiro.au (130.155.96.1)
others:
qiclab.scn.rain.com has a small collection in pub/math, including
fft stuff not listed above. elib.ZIB-Berlin.de is quite interesting
too.
Books
-----
Name : C Mathematical Function Handbook
Author : Louis Baker
Language : C and C++
Version : 757 pages, soft, including floppy, McGraw Hill, 1992, $50
Description : Code implementing the algorithms and formulas in
Abramovitz and Stegun, with several chapters added. It will
save you a lot of time as compared with writing code out of A&S.
95% of the pages in the book are merely the source code, without
even doing pretty printing. It improves on A&S in (broadly)
mathematical physics.
The code does not show very good C competence. The code
and the book betray their development on a computer running
MS-DOS. Sometimes, more-recent algorithms which improve on A&S
are ignored.
Name : Applied Numerical Methods in C
Author : Shoichiro Nakamura
Version : Prentice Hall, hardback, $48; disk+manual costs $35.
604 pages.
Name : Numerical Recipes in C
Author : William H. Press, Saul A. Teukolsky, William T. Vetterling
and Brian P. Plannery
Language : C
Version : 2nd edition, 933 pages, Cambridge University Press, 1992,
$50 hard, $20 for the floppy.
Description : A very thorough first book on numerical computation, with
accompanying source code. The methods are often not
industrial-strength, and a expert on (say) linear algebra
will be disappointed at the treatment of linear algebra.
But to a relative novice it's easy to start using, and
likely to work pretty well pretty often. Within the
constraint of being accessible to a novice to numerical
computation, the methods here are uptodate.
The text is refreshing and a real pleasure to read. Thus,
for example, even if you plan to use Linpack source code
to do a SVD, it's well worth reading the text here. The
authors are often opinionated in situations where the
relative merits of alternative methods are not known "for
sure", this gives the reader the benefit of their wisdom
(in ways that experts will sometimes consider
superficial). I think such editorialising is very useful
to the novice, even though it is bound to be misleading at
times.
The typesetting is superb: it is done using TeX. The
second edition has a two-tier treatment where advanced
topics are in smaller type. All the source code is
printed in the book, and very beautifully at that -- i.e.,
it's not a mere waste of paper. The floppy has examples
of usage of every function; these examples are not in the
book.
The source code is widely used, but not as much as
Linpack. Hence we often hear complaints on the net about
subtle errors in their FFT and SVD functions. Presumably
there are other errors too. The book exists in a fortran
version too, and the development of the C version is not
done independently of the fortran. Hence their C is a bit
fortran-like.
Their C uses base-1 arrays. This is inconsistent with C
idiom and incorrect according to the ANSI C standard. It
can be fixed by wasting a little memory and fixing nrutil.
Perhaps the worst drawback of the source code is that it
is copyrighted (unlike (say) Linpack). Thus while you can
use it in your programs (after buying the floppy), you are
not allowed to send a program containing this source code
to anyone else. Thus when you choose to use Numerical
Recipes source code for your work, you implicitly give up
the right to {give your program to a colleague, or post it
on the net, or sell it} without dealing with their
lawyers.
The file usc.edu:pub/C-numanal/nr.experiences (16158 bytes)
will tell why a lot of "real numerical analysts" dislike
Numerical Recipes.
Name : Computing for Scientists and Engineers: A workbook for
analysis, numerics and applications
Author : William J. Thompson
Language : C
Version : 464 pages, $55, John Wiley and Sons
Credits
-------
The following people helped me put this index together:
Bardo Muller bardo@gonzales.ief-paris-sud.fr
David E. Stewart des@thrain.anu.edu.au
Skip Carter skip@taygeta.oc.nps.navy.mil
John Gregory jwg@db.cray.com
John Eaton jwe@che.utexas.edu
P. G. Hamer P.G.Hamer@bnr.co.uk
Alan Magnuson awm@osc.edu
David Rapoport actize@garnet.berkeley.edu
Peter Fraenkel pnf@pwcm.com
Martin-D. Lacasse isaac@physics.mcgill.ca
Matthew Koebbe phaedrus@alioth.cc.nps.navy.mil
Nicolas Ratier ratier@laas.laas.fr
Henri Cohen cohen@merak.greco-prog.fr
Bill Hutchison bhutchi@godiva.ssw.com
Ronald F. Guilmette segfault!rfg@netcom.com
Jay Han han@corto.inria.fr
Van Snyder vsnyder@math.Jpl.Nasa.Gov
Alan Cabrera adc@tardis.cl.msu.edu
Vincent Broman broman@peanuts.nosc.mil
Piercarlo Grandi pcg@aberystwyth.ac.uk
Abed Hammoud abed@saturn.wustl.edu
Richard A. O'Keefe ok@goanna.cs.rmit.OZ.AU
Of course, we owe infinite gratitude to the authors themselves, for
making their work available in the public domain.
--
Ajay Shah, (213)749-8133, ajayshah@rcf.usc.edu